package org.me.service;

import java.io.Serializable;
import java.util.List;
import org.me.entityBeans.TPaises;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;

public interface PaisServiceHibernate {
   @Transactional(readOnly=false, propagation=Propagation.REQUIRED, rollbackFor=Exception.class) //solo lectura false ya que es de tipo update, required ya que crea transaccion y rollbackFor=Exception.class indica que todas las excepciones del método deben forzar un rolklback (applicationContext-data.xml)
   public void saveOrUpdatePais(TPaises pais); //Graba o actualiza un Pais x su Id
   public String deletePais(TPaises pais); //Borra un Pais x su Id
   public List<TPaises> findAllPaises(); //Trae todos los paises   
   public List<TPaises> findByNamePais(String nomPais); //Trae el pais que coincida con el nombre         
   public TPaises findByIdPais(Serializable id); //Trae el pais que coincida con el id 
   public List<TPaises> findPaisConDptos(Short idPais); //Trae el pais con sus Departamentos asociados que coincida con el idPais        
   public List<TPaises> findPaises1(Short idPais); //Trae los paises excluido por el idPais pasado como parametro
  
}
